package com.entity.yaml

import com.annotations.DefaultValue
import com.entity.PackPath
import com.serialization.PackPathSerialization
import io.github.stream29.jsonschemagenerator.Description
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

/**
 * XML 2 TS
 */
@Serializable
@SerialName("xmlToTs")
data class XmlToTs(
    /**
     * id 开始位置
     */
    @property:Description("id 开始位置")
    @DefaultValue("0")
    var startId: Int? = 0,
    /**
     * 读取xml路径
     */
    @property:Description("读取xml路径")
    @DefaultValue("null")
    var readXMLPath: @Serializable(PackPathSerialization::class) PackPath? = null,
    /**
     * 要被写入xml路径
     */
    @property:Description("要被写入xml路径")
    @DefaultValue("null")
    var writeXMLPath: @Serializable(PackPathSerialization::class) PackPath? = null,
    /**
     * 要生成ts路径
     */
    @property:Description("要生成ts路径")
    @DefaultValue("null")
    var writeTsPath: @Serializable(PackPathSerialization::class) PackPath? = null,
    /**
     * 空间名
     */
    @property:Description("空间名")
    @DefaultValue("null")
    var namespaceName: String? = null
)